Graphics devices including graphics processors represent a significant source of power consumption in modern devices such as computing devices, communications devices, gaming devices, and other display devices. As graphics performance expectations and requirements continue to increase for future platforms the power envelope for the graphics subsystems increases higher as well. Accordingly, it may be useful for graphics components to be managed more efficiently for the benefit of a platform, such as increasing battery life in a mobile platform.
However, in current generation platforms, including system-on-a-chip (SoC) platforms, graphics sub-system management is not optimal since historically a focus of device design has been to obtain maximum performance from the sub-system without consideration of platform power consumption. In present day apparatus that include graphics displays, a power management policy for graphics devices is typically statically implemented. In one example, when processing graphics commands, if no graphics commands are submitted for a fixed time such as 50 ms (idle time-out), a graphics device may be powered down to a low power state, such as so-called D0i3. Conversely, even if the platform is otherwise completely idle, a single issued graphics command causes the graphics sub-system to immediately wake up. Such a wakeup process for the graphics subsystem may take place without consideration of the deadline by which the graphics command has to be completed, which may cause the graphics subsystem to remain active unduly long. In addition, by not taking into account workload and platform behavior when scheduling graphics subsystem wakeups, these graphics management policies may result in overly frequent transition between low-power and active modes. Such unnecessary transitions can be counter-productive since more energy may be lost by saving the register context of the devices in going to sleep and restoring them when waking up.
Accordingly, there may be a need for improved techniques and apparatus to solve these and other problems.